home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / swing / SwingUtilities2$LSBCacheEntry.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  1.7 KB  |  79 lines

  1. package sun.swing;
  2.  
  3. import java.awt.Font;
  4. import java.awt.RenderingHints;
  5. import java.awt.font.FontRenderContext;
  6. import java.awt.font.GlyphVector;
  7.  
  8. class SwingUtilities2$LSBCacheEntry {
  9.    private static final byte UNSET = 127;
  10.    private static final char[] oneChar = new char[1];
  11.    private byte[] lsbCache = new byte[1];
  12.    private Font font;
  13.    private FontRenderContext frc;
  14.    // $FF: synthetic field
  15.    static final boolean $assertionsDisabled = !SwingUtilities2.class.desiredAssertionStatus();
  16.  
  17.    public SwingUtilities2$LSBCacheEntry(FontRenderContext var1, Font var2) {
  18.       this.reset(var1, var2);
  19.    }
  20.  
  21.    public void reset(FontRenderContext var1, Font var2) {
  22.       this.font = var2;
  23.       this.frc = var1;
  24.  
  25.       for(int var3 = this.lsbCache.length - 1; var3 >= 0; --var3) {
  26.          this.lsbCache[var3] = 127;
  27.       }
  28.  
  29.    }
  30.  
  31.    public int getLeftSideBearing(char var1) {
  32.       int var2 = var1 - 87;
  33.       if ($assertionsDisabled || var2 >= 0 && var2 < 1) {
  34.          byte var3 = this.lsbCache[var2];
  35.          if (var3 == 127) {
  36.             oneChar[0] = var1;
  37.             GlyphVector var4 = this.font.createGlyphVector(this.frc, oneChar);
  38.             var3 = (byte)var4.getGlyphPixelBounds(0, this.frc, 0.0F, 0.0F).x;
  39.             if (var3 < 0) {
  40.                Object var5 = this.frc.getAntiAliasingHint();
  41.                if (var5 == RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB || var5 == RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HBGR) {
  42.                   ++var3;
  43.                }
  44.             }
  45.  
  46.             this.lsbCache[var2] = var3;
  47.          }
  48.  
  49.          return var3;
  50.       } else {
  51.          throw new AssertionError();
  52.       }
  53.    }
  54.  
  55.    public boolean equals(Object var1) {
  56.       if (var1 == this) {
  57.          return true;
  58.       } else if (!(var1 instanceof SwingUtilities2$LSBCacheEntry)) {
  59.          return false;
  60.       } else {
  61.          SwingUtilities2$LSBCacheEntry var2 = (SwingUtilities2$LSBCacheEntry)var1;
  62.          return this.font.equals(var2.font) && this.frc.equals(var2.frc);
  63.       }
  64.    }
  65.  
  66.    public int hashCode() {
  67.       int var1 = 17;
  68.       if (this.font != null) {
  69.          var1 = 37 * var1 + this.font.hashCode();
  70.       }
  71.  
  72.       if (this.frc != null) {
  73.          var1 = 37 * var1 + this.frc.hashCode();
  74.       }
  75.  
  76.       return var1;
  77.    }
  78. }
  79.